home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-06-06 | 18.0 KB | 548 lines | [TEXT/MPS ] |
- /*------------------------------------------------------------------------------
- #
- # PrGeneralPlay.r - Rez source
- #
- # PrGeneralPlay is an example application that demonstrates the use
- # of PrGeneral's opcodes: GetRslData, SetRsl, GetRotn, DraftBits, and
- # NoDraftBits. For complete details about the functionality of this
- # application, see the header at the top of the PrGeneralPlayPrint.c file.
- #
- # ------------------------------------------------------------------------------
- #
- # Versions: 1.00 June 1, 1990
- #
- # Components: PrGeneralPlay.c June 1, 1990
- # PrGeneralPlayPrint.c June 1, 1990
- # PrGeneralPlay.h June 1, 1990
- # PrGeneralPlay.r June 1, 1990
- #
- #
- # Apple Macintosh Developer Technical Support
- # Copyright © 1990 Apple Computer, Inc.
- # All rights reserved.
- #
- ------------------------------------------------------------------------------*/
-
- #include "Types.r"
- #include "PrGeneralPlay.h"
-
- /* we use an MBAR resource to conveniently load all the menus */
-
- resource 'MBAR' (rMenuBar, preload) {
- { mApple, mFile, mEdit, mPrGeneral }; /* four menus */
- };
-
-
- resource 'MENU' (mApple, preload) {
- mApple, textMenuProc,
- AllItems & ~MenuItem2, /* Disable dashed line, enable About and DAs */
- enabled, apple,
- {
- "About PrGeneral Play…",
- noicon, nokey, nomark, plain;
- "-",
- noicon, nokey, nomark, plain
- }
- };
-
- resource 'MENU' (mFile, preload) {
- mFile, textMenuProc,
- (MenuItem9 | MenuItem10 | MenuItem12),
- enabled, "File",
- {
- "New",
- noicon, "N", nomark, plain;
- "Open",
- noicon, "O", nomark, plain;
- "-",
- noicon, nokey, nomark, plain;
- "Close",
- noicon, "W", nomark, plain;
- "Save",
- noicon, "S", nomark, plain;
- "Save As…",
- noicon, nokey, nomark, plain;
- "Revert",
- noicon, nokey, nomark, plain;
- "-",
- noicon, nokey, nomark, plain;
- "Page Setup…",
- noicon, nokey, nomark, plain;
- "Print…",
- noicon, "P", nomark, plain;
- "-",
- noicon, nokey, nomark, plain;
- "Quit",
- noicon, "Q", nomark, plain
- }
- };
-
- resource 'MENU' (mEdit, preload) {
- mEdit, textMenuProc,
- NoItems, /* disable everything, program does the enabling */
- enabled, "Edit",
- {
- "Undo",
- noicon, "Z", nomark, plain;
- "-",
- noicon, nokey, nomark, plain;
- "Cut",
- noicon, "X", nomark, plain;
- "Copy",
- noicon, "C", nomark, plain;
- "Paste",
- noicon, "V", nomark, plain;
- "Clear",
- noicon, nokey, nomark, plain
- }
- };
-
-
- resource 'MENU' (mPrGeneral, preload) {
- mPrGeneral, textMenuProc,
- NoItems, /* disable everything, program does the enabling */
- enabled, "PrGeneral Land",
- {
- "High Resolution printing (GetRslData & SetRsl)",
- noicon, nokey, nomark, plain;
- "Forced draft mode printing (DraftBits)",
- noicon, nokey, nomark, plain;
- "Check for landscape orientation (GetRotn)",
- noicon, nokey, nomark, plain;
- }
- };
-
-
- /* this ALRT and DITL are used as an About screen */
-
- resource 'ALRT' (rAboutAlert, purgeable) {
- {40, 20, 160, 290},
- rAboutAlert,
- { /* array: 4 elements */
- /* [1] */
- OK, visible, silent,
- /* [2] */
- OK, visible, silent,
- /* [3] */
- OK, visible, silent,
- /* [4] */
- OK, visible, silent
- }
- };
-
-
- resource 'DITL' (rAboutAlert, purgeable) {
- { /* array DITLarray: 5 elements */
- /* [1] */
- {88, 180, 108, 260},
- Button {
- enabled,
- "OK"
- },
- /* [2] */
- {8, 8, 24, 214},
- StaticText {
- disabled,
- "Playing in PrGeneral Land..."
- },
- /* [3] */
- {32, 8, 48, 237},
- StaticText {
- disabled,
- "Copyright © 1990 Apple Computer"
- },
- /* [4] */
- {56, 8, 72, 136},
- StaticText {
- disabled,
- "Brought to you by:"
- },
- /* [5] */
- {80, 24, 112, 167},
- StaticText {
- disabled,
- "Macintosh Developer Technical Support"
- }
- }
- };
-
-
- /* this ALRT and DITL are used as an error screen */
-
- resource 'ALRT' (rUserAlert, purgeable) {
- {40, 20, 126, 326},
- rUserAlert,
- { /* array: 4 elements */
- /* [1] */
- OK, visible, silent,
- /* [2] */
- OK, visible, silent,
- /* [3] */
- OK, visible, silent,
- /* [4] */
- OK, visible, silent
- }
- };
-
-
- resource 'DITL' (rUserAlert, purgeable) {
- { /* array DITLarray: 3 elements */
- /* [1] */
- {51, 209, 70, 290},
- Button {
- enabled,
- "OK"
- },
- /* [2] */
- {10, 60, 30, 300},
- StaticText {
- disabled,
- "Error occurred in PrGeneral Play..."
- },
- /* [3] */
- {8, 8, 40, 40},
- Icon {
- disabled,
- 2
- }
- }
- };
-
- /* this ALRT and DITL are used to tell the user that 32-bit QuickDraw is required */
-
- resource 'ALRT' (r32BitQDAlert, purgeable) {
- {40, 20, 125, 450},
- r32BitQDAlert,
- { /* array: 4 elements */
- /* [1] */
- OK, visible, silent,
- /* [2] */
- OK, visible, silent,
- /* [3] */
- OK, visible, silent,
- /* [4] */
- OK, visible, silent
- }
- };
-
- resource 'DITL' (r32BitQDAlert, purgeable) {
- { /* array DITLarray: 3 elements */
- /* [1] */
- {50, 335, 70, 414},
- Button {
- enabled,
- "OK"
- },
- /* [2] */
- {10, 60, 30, 415},
- StaticText {
- disabled,
- "32-bit QuickDraw is required to run PrGeneral Play..."
- },
- /* [3] */
- {8, 8, 40, 40},
- Icon {
- disabled,
- 2
- }
- }
- };
-
-
- /* this ALRT and DITL are used to tell the user that PrGeneral is not available, */
- /* but, you will still be able to print with the current printer... */
-
- resource 'ALRT' (rNOPrGeneralAlert, purgeable) {
- {40, 20, 155, 470},
- rNOPrGeneralAlert,
- { /* array: 4 elements */
- /* [1] */
- OK, visible, silent,
- /* [2] */
- OK, visible, silent,
- /* [3] */
- OK, visible, silent,
- /* [4] */
- OK, visible, silent
- }
- };
-
- resource 'DITL' (rNOPrGeneralAlert, purgeable) {
- { /* array DITLarray: 3 elements */
- /* [1] */
- {80, 350, 100, 430},
- Button {
- enabled,
- "OK"
- },
- /* [2] */
- {10, 60, 65, 445},
- StaticText {
- disabled,
- "PrGeneral is NOT available for the current printer. You will not be able to use the features of PrGeneral, but PrGeneral Play will still print..."
- },
- }
- };
-
-
- /* this ALRT and DITL are used to display the results of testing for "landscape" orientation */
-
- resource 'ALRT' (rLandscapeAlert, purgeable) {
- {40, 20, 122, 404},
- rLandscapeAlert,
- { /* array: 4 elements */
- /* [1] */
- OK, visible, silent,
- /* [2] */
- OK, visible, silent,
- /* [3] */
- OK, visible, silent,
- /* [4] */
- OK, visible, silent
- }
- };
-
-
- resource 'DITL' (rLandscapeAlert, purgeable) {
- { /* array DITLarray: 3 elements */
- /* [1] */
- {50, 293, 70, 373},
- Button {
- enabled,
- "OK"
- },
- /* [2] */
- {16, 61, 39, 373},
- StaticText {
- disabled,
- "^0"
- }
- }
- };
-
- resource 'STR ' (201, purgeable) {
- "Landscape orientation has been selected..."
- };
- resource 'STR ' (202, purgeable) {
- "Landscape orientation has NOT been selected..."
- };
-
- /* here is the quintessential MultiFinder friendliness device, the SIZE resource */
-
- resource 'SIZE' (-1) {
- dontSaveScreen,
- acceptSuspendResumeEvents,
- enableOptionSwitch,
- canBackground, /* we can background; we don't currently, but our sleep value */
- /* guarantees we don't hog the Mac while we are in the background */
- multiFinderAware, /* this says we do our own activate/deactivate; don't fake us out */
- backgroundAndForeground, /* this is definitely not a background-only application! */
- dontGetFrontClicks, /* change this is if you want "do first click" behavior like the Finder */
- ignoreChildDiedEvents, /* essentially, I'm not a debugger (sub-launching) */
- not32BitCompatible, /* this app should not be run in 32-bit address space */
- reserved,
- reserved,
- reserved,
- reserved,
- reserved,
- reserved,
- reserved,
- kPrefSize * 1024,
- kMinSize * 1024
- };
-
-
- type 'luKE' as 'STR ';
-
- resource 'luKE' (0) {
- "PrGeneral Play - Version 1.0"
- };
-
-
- resource 'BNDL' (128) {
- 'luKE',
- 0,
- {
- 'ICN#',
- {
- 0, 128;
- },
- 'FREF',
- {
- 0, 128;
- }
- }
- };
-
-
- resource 'FREF' (128) {
- 'APPL',
- 0,
- ""
- };
-
-
- resource 'ICN#' (128) {
- { /* array: 2 elements */
- /* [1] */
- $"04 30 40 00 0A 50 A0 00 0B 91 10 02 08 22 08 03"
- $"12 24 04 05 20 28 02 09 40 10 01 11 80 0C 00 A1"
- $"80 03 FF C2 7E 00 FF 04 01 00 7F 04 03 00 1E 08"
- $"04 E0 00 0C 08 E0 00 0A 10 E0 00 09 08 C0 00 06"
- $"04 87 FE 04 02 88 01 04 01 88 00 84 00 88 00 44"
- $"00 88 00 44 00 88 00 C4 01 10 01 88 02 28 03 10"
- $"01 C4 04 E0 00 02 08 00 73 BF FB EE 4C A2 8A 2A"
- $"40 AA AA EA 52 AA AA 24 5E A2 8A EA 73 BE FB 8E",
- /* [2] */
- $"04 30 40 00 0E 70 E0 00 0F F1 F0 02 0F E3 F8 03"
- $"1F E7 FC 07 3F EF FE 0F 7F FF FF 1F FF FF FF BF"
- $"FF FF FF FE 7F FF FF FC 01 FF FF FC 03 FF FF F8"
- $"07 FF FF FC 0F FF FF FE 1F FF FF FF 0F FF FF FE"
- $"07 FF FF FC 03 FF FF FC 01 FF FF FC 00 FF FF FC"
- $"00 FF FF FC 00 FF FF FC 01 FF FF F8 03 EF FF F0"
- $"01 C7 FC E0 00 03 F8 00 73 BF FB EE 7F BE FB EE"
- $"7F BE FB EE 7F BE FB E4 7F BE FB EE 73 BE FB 8E"
- }
- };
-
- data 'ics#' (128) {
- $"3CC0 3D61 5633 861D F1FB 10F2 2C03 6C03" /* <¿=aV3Ü.....,.l. */
- $"3BF2 1A0A 0A0A 161E 1B2C FFFF DFFF FFFF" /* ;........,...... */
- $"3CC0 3DE1 7FF3 FFFF FFFF 1FFE 3FFF 7FFF" /* <¿=.........?... */
- $"3FFE 1FFE 0FFE 1FFE 1FFC FFFF FFFF FFFF" /* ?............... */
- };
-
- data 'icl4' (128) {
- $"0000 0F00 00FF 0000 0F00 0000 0000 0000" /* ................ */
- $"0000 F0F0 0F0F 0000 F0F0 0000 0000 0000" /* ................ */
- $"0000 F0FF F00F 000F 000F 0000 0000 00F0" /* ................ */
- $"0000 F000 00F0 00F0 0000 F000 0000 00FF" /* ................ */
- $"000F 00F0 00F0 0F00 0000 0F00 0000 0F0F" /* ................ */
- $"00F0 0000 00F0 F000 0000 00F0 0000 F00F" /* ................ */
- $"0F00 0000 000F 0000 0000 000F 000F 000F" /* ................ */
- $"F000 0000 0000 FF00 0000 0000 F0F0 000F" /* ................ */
- $"F000 0000 0000 00FF FFFF FFFF FF00 00F0" /* ................ */
- $"0FFF FFF0 0000 0000 FFFF FFFF 0000 0F00" /* ................ */
- $"0000 000F 0000 0000 0FFF FFFF 0000 0F00" /* ................ */
- $"0000 00FF 0000 0000 000F FFF0 0000 F000" /* ................ */
- $"0000 0F00 FFF0 0000 0000 0000 0000 FF00" /* ................ */
- $"0000 F000 FFF0 0000 0000 0000 0000 F0F0" /* ................ */
- $"000F 0000 FFF0 0000 0000 0000 0000 F00F" /* ................ */
- $"0000 F000 FF00 0000 0000 0000 0000 0FF0" /* ................ */
- $"0000 0F00 F000 0FFF FFFF FFF0 0000 0F00" /* ................ */
- $"0000 00F0 F000 F000 0000 000F 0000 0F00" /* ................ */
- $"0000 000F F000 F000 0000 0000 F000 0F00" /* ................ */
- $"0000 0000 F000 F000 0000 0000 0F00 0F00" /* ................ */
- $"0000 0000 F000 F000 0000 0000 0F00 0F00" /* ................ */
- $"0000 0000 F000 F000 0000 0000 FF00 0F00" /* ................ */
- $"0000 000F 000F 0000 0000 000F F000 F000" /* ................ */
- $"0000 00F0 00F0 F000 0000 00FF 000F 0000" /* ................ */
- $"0000 000F FF00 0F00 0000 0F00 FFF0 0000" /* ................ */
- $"0000 0000 0000 00F0 0000 F000 0000 0000" /* ................ */
- $"0FFF 00FF F0FF FFFF FFFF F0FF FFF0 FFF0" /* ................ */
- $"0F00 FF00 F0F0 00F0 F000 F0F0 00F0 F0F0" /* ................ */
- $"0F00 0000 F0F0 F0F0 F0F0 F0F0 FFF0 F0F0" /* ................ */
- $"0F0F 00F0 F0F0 F0F0 F0F0 F0F0 00F0 0F00" /* ................ */
- $"0F0F FFF0 F0F0 00F0 F000 F0F0 FFF0 F0F0" /* ................ */
- $"0FFF 00FF F0FF FFF0 FFFF F0FF F000 FFF0" /* ................ */
- };
-
- data 'icl8' (128) {
- $"0000 0000 00FF 0000 0000 FFFF 0000 0000" /* ................ */
- $"00FF 0000 0000 0000 0000 0000 0000 0000" /* ................ */
- $"0000 0000 FF00 FF00 00FF 00FF 0000 0000" /* ................ */
- $"FF00 FF00 0000 0000 0000 0000 0000 0000" /* ................ */
- $"0000 0000 FF00 FFFF FF00 00FF 0000 00FF" /* ................ */
- $"0000 00FF 0000 0000 0000 0000 0000 FF00" /* ................ */
- $"0000 0000 FF00 0000 0000 FF00 0000 FF00" /* ................ */
- $"0000 0000 FF00 0000 0000 0000 0000 FFFF" /* ................ */
- $"0000 00FF 0000 FF00 0000 FF00 00FF 0000" /* ................ */
- $"0000 0000 00FF 0000 0000 0000 00FF 00FF" /* ................ */
- $"0000 FF00 0000 0000 0000 FF00 FF00 0000" /* ................ */
- $"0000 0000 0000 FF00 0000 0000 FF00 00FF" /* ................ */
- $"00FF 0000 0000 0000 0000 00FF 0000 0000" /* ................ */
- $"0000 0000 0000 00FF 0000 00FF 0000 00FF" /* ................ */
- $"FF00 0000 0000 0000 0000 0000 FFFF 0000" /* ................ */
- $"0000 0000 0000 0000 FF00 FF00 0000 00FF" /* ................ */
- $"FF00 0000 0000 0000 0000 0000 0000 FFFF" /* ................ */
- $"FFFF FFFF FFFF FFFF FFFF 0000 0000 FF00" /* ................ */
- $"00FF FFFF FFFF FF00 0000 0000 0000 0000" /* ................ */
- $"FFFF FFFF FFFF FFFF 0000 0000 00FF 0000" /* ................ */
- $"0000 0000 0000 00FF 0000 0000 0000 0000" /* ................ */
- $"00FF FFFF FFFF FFFF 0000 0000 00FF 0000" /* ................ */
- $"0000 0000 0000 FFFF 0000 0000 0000 0000" /* ................ */
- $"0000 00FF FFFF FF00 0000 0000 FF00 0000" /* ................ */
- $"0000 0000 00FF 0000 FFFF FF00 0000 0000" /* ................ */
- $"0000 0000 0000 0000 0000 0000 FFFF 0000" /* ................ */
- $"0000 0000 FF00 0000 FFFF FF00 0000 0000" /* ................ */
- $"0000 0000 0000 0000 0000 0000 FF00 FF00" /* ................ */
- $"0000 00FF 0000 0000 FFFF FF00 0000 0000" /* ................ */
- $"0000 0000 0000 0000 0000 0000 FF00 00FF" /* ................ */
- $"0000 0000 FF00 0000 FFFF 0000 0000 0000" /* ................ */
- $"0000 0000 0000 0000 0000 0000 00FF FF00" /* ................ */
- $"0000 0000 00FF 0000 FF00 0000 00FF FFFF" /* ................ */
- $"FFFF FFFF FFFF FF00 0000 0000 00FF 0000" /* ................ */
- $"0000 0000 0000 FF00 FF00 0000 FF00 0000" /* ................ */
- $"0000 0000 0000 00FF 0000 0000 00FF 0000" /* ................ */
- $"0000 0000 0000 00FF FF00 0000 FF00 0000" /* ................ */
- $"0000 0000 0000 0000 FF00 0000 00FF 0000" /* ................ */
- $"0000 0000 0000 0000 FF00 0000 FF00 0000" /* ................ */
- $"0000 0000 0000 0000 00FF 0000 00FF 0000" /* ................ */
- $"0000 0000 0000 0000 FF00 0000 FF00 0000" /* ................ */
- $"0000 0000 0000 0000 00FF 0000 00FF 0000" /* ................ */
- $"0000 0000 0000 0000 FF00 0000 FF00 0000" /* ................ */
- $"0000 0000 0000 0000 FFFF 0000 00FF 0000" /* ................ */
- $"0000 0000 0000 00FF 0000 00FF 0000 0000" /* ................ */
- $"0000 0000 0000 00FF FF00 0000 FF00 0000" /* ................ */
- $"0000 0000 0000 FF00 0000 FF00 FF00 0000" /* ................ */
- $"0000 0000 0000 FFFF 0000 00FF 0000 0000" /* ................ */
- $"0000 0000 0000 00FF FFFF 0000 00FF 0000" /* ................ */
- $"0000 0000 00FF 0000 FFFF FF00 0000 0000" /* ................ */
- $"0000 0000 0000 0000 0000 0000 0000 FF00" /* ................ */
- $"0000 0000 FF00 0000 0000 0000 0000 0000" /* ................ */
- $"00FF FFFF 0000 FFFF FF00 FFFF FFFF FFFF" /* ................ */
- $"FFFF FFFF FF00 FFFF FFFF FF00 FFFF FF00" /* ................ */
- $"00FF 0000 FFFF 0000 FF00 FF00 0000 FF00" /* ................ */
- $"FF00 0000 FF00 FF00 0000 FF00 FF00 FF00" /* ................ */
- $"00FF 0000 0000 0000 FF00 FF00 FF00 FF00" /* ................ */
- $"FF00 FF00 FF00 FF00 FFFF FF00 FF00 FF00" /* ................ */
- $"00FF 00FF 0000 FF00 FF00 FF00 FF00 FF00" /* ................ */
- $"FF00 FF00 FF00 FF00 0000 FF00 00FF 0000" /* ................ */
- $"00FF 00FF FFFF FF00 FF00 FF00 0000 FF00" /* ................ */
- $"FF00 0000 FF00 FF00 FFFF FF00 FF00 FF00" /* ................ */
- $"00FF FFFF 0000 FFFF FF00 FFFF FFFF FF00" /* ................ */
- $"FFFF FFFF FF00 FFFF FF00 0000 FFFF FF00" /* ................ */
- };
-
- data 'ics8' (128) {
- $"0000 FFFF FFFF 0000 FFFF 0000 0000 0000" /* ................ */
- $"0000 FFFF FFFF 00FF 00FF FF00 0000 00FF" /* ................ */
- $"00FF 00FF 00FF FF00 0000 FFFF 0000 FFFF" /* ................ */
- $"FF00 0000 00FF FF00 0000 00FF FFFF 00FF" /* ................ */
- $"FFFF FFFF 0000 00FF FFFF FFFF FF00 FFFF" /* ................ */
- $"0000 00FF 0000 0000 FFFF FFFF 0000 FF00" /* ................ */
- $"0000 FF00 FFFF 0000 0000 0000 0000 FFFF" /* ................ */
- $"00FF FF00 FFFF 0000 0000 0000 0000 FFFF" /* ................ */
- $"0000 FFFF FF00 FFFF FFFF FFFF 0000 FF00" /* ................ */
- $"0000 00FF FF00 FF00 0000 0000 FF00 FF00" /* ................ */
- $"0000 0000 FF00 FF00 0000 0000 FF00 FF00" /* ................ */
- $"0000 00FF 00FF FF00 0000 00FF FFFF FF00" /* ................ */
- $"0000 00FF FF00 FFFF 0000 FF00 FFFF 0000" /* ................ */
- $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF" /* ................ */
- $"FFFF 00FF FFFF FFFF FFFF FFFF FFFF FFFF" /* ................ */
- $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF" /* ................ */
- };
-
- data 'ics4' (128) {
- $"00FF FF00 FF00 0000 00FF FF0F 0FF0 000F" /* ................ */
- $"0F0F 0FF0 00FF 00FF F000 0FF0 000F FF0F" /* ................ */
- $"FFFF 000F FFFF F0FF 000F 0000 FFFF 00F0" /* ................ */
- $"00F0 FF00 0000 00FF 0FF0 FF00 0000 00FF" /* ................ */
- $"00FF F0FF FFFF 00F0 000F F0F0 0000 F0F0" /* ................ */
- $"0000 F0F0 0000 F0F0 000F 0FF0 000F FFF0" /* ................ */
- $"000F F0FF 00F0 FF00 FFFF FFFF FFFF FFFF" /* ................ */
- $"FF0F FFFF FFFF FFFF FFFF FFFF FFFF FFFF" /* ................ */
- };
-
-
-